<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>数据库系统概念总结 | 月藤的博客</title>
    <meta name="generator" content="VuePress 1.8.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css">
    <meta name="description" content="简单的介绍">
    
    <link rel="preload" href="/assets/css/0.styles.a2e941e0.css" as="style"><link rel="preload" href="/assets/js/app.c7d9ff18.js" as="script"><link rel="preload" href="/assets/js/2.cd56dec9.js" as="script"><link rel="preload" href="/assets/js/42.3ae1db24.js" as="script"><link rel="prefetch" href="/assets/js/10.21f484f8.js"><link rel="prefetch" href="/assets/js/11.5e166696.js"><link rel="prefetch" href="/assets/js/12.c56c19a2.js"><link rel="prefetch" href="/assets/js/13.3e31b609.js"><link rel="prefetch" href="/assets/js/14.3db3e5e6.js"><link rel="prefetch" href="/assets/js/15.cc75d7c3.js"><link rel="prefetch" href="/assets/js/16.5546d343.js"><link rel="prefetch" href="/assets/js/17.69b8a0f2.js"><link rel="prefetch" href="/assets/js/18.271396c8.js"><link rel="prefetch" href="/assets/js/19.bd4b0386.js"><link rel="prefetch" href="/assets/js/20.4a48d936.js"><link rel="prefetch" href="/assets/js/21.23862f34.js"><link rel="prefetch" href="/assets/js/22.95b3bd0a.js"><link rel="prefetch" href="/assets/js/23.d7c85d8e.js"><link rel="prefetch" href="/assets/js/24.c6d6dd3c.js"><link rel="prefetch" href="/assets/js/25.bb664de8.js"><link rel="prefetch" href="/assets/js/26.619789c7.js"><link rel="prefetch" href="/assets/js/27.54beb19d.js"><link rel="prefetch" href="/assets/js/28.8d77923a.js"><link rel="prefetch" href="/assets/js/29.7a771891.js"><link rel="prefetch" href="/assets/js/3.a0dd59cc.js"><link rel="prefetch" href="/assets/js/30.73e03cd7.js"><link rel="prefetch" href="/assets/js/31.a9a1ae37.js"><link rel="prefetch" href="/assets/js/32.66082a76.js"><link rel="prefetch" href="/assets/js/33.73a91496.js"><link rel="prefetch" href="/assets/js/34.da867ae2.js"><link rel="prefetch" href="/assets/js/35.6fac5ae2.js"><link rel="prefetch" href="/assets/js/36.0d6f5d22.js"><link rel="prefetch" href="/assets/js/37.c16a4955.js"><link rel="prefetch" href="/assets/js/38.3391e103.js"><link rel="prefetch" href="/assets/js/39.2e00541f.js"><link rel="prefetch" href="/assets/js/4.7f4b5eea.js"><link rel="prefetch" href="/assets/js/40.22b54e67.js"><link rel="prefetch" href="/assets/js/41.ea3ea4f8.js"><link rel="prefetch" href="/assets/js/43.ecd8c202.js"><link rel="prefetch" href="/assets/js/44.f7609015.js"><link rel="prefetch" href="/assets/js/45.0db6f0b1.js"><link rel="prefetch" href="/assets/js/46.e28c1031.js"><link rel="prefetch" href="/assets/js/47.32d7164d.js"><link rel="prefetch" href="/assets/js/48.3aeaffda.js"><link rel="prefetch" href="/assets/js/49.33dab1c0.js"><link rel="prefetch" href="/assets/js/5.80c2b38b.js"><link rel="prefetch" href="/assets/js/50.6e41bca8.js"><link rel="prefetch" href="/assets/js/51.37e89a7c.js"><link rel="prefetch" href="/assets/js/52.e60e1d45.js"><link rel="prefetch" href="/assets/js/53.7a9c00ba.js"><link rel="prefetch" href="/assets/js/54.a214a30e.js"><link rel="prefetch" href="/assets/js/6.133fd621.js"><link rel="prefetch" href="/assets/js/7.79403511.js"><link rel="prefetch" href="/assets/js/8.04726c3a.js"><link rel="prefetch" href="/assets/js/9.a86daf82.js">
    <link rel="stylesheet" href="/assets/css/0.styles.a2e941e0.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">月藤的博客</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="https://ziphold.gitee.io/blog/#/" target="_blank" rel="noopener noreferrer" class="nav-link external">
  旧博客（停止更新）
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://rattonlzh.github.io/homepage/homepage.html" target="_blank" rel="noopener noreferrer" class="nav-link external">
  常用网址导航（停止更新）
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow down"></span></button> <button type="button" aria-label="Select language" class="mobile-dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/知识点总结/数据库系统概念总结.html" class="nav-link">
  zh-CN
</a></li><li class="dropdown-item"><!----> <a href="/en/" class="nav-link">
  en-US
</a></li></ul></div></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><div class="avatar"><img src="/assets/img/avatar.2b77755b.png" alt srcset></div> <div style="z-index: 999"><iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width="298" height="52" src="//music.163.com/outchain/player?type=2&id=28283137&auto=1&height=32"></iframe></div> <nav class="nav-links"><div class="nav-item"><a href="https://ziphold.gitee.io/blog/#/" target="_blank" rel="noopener noreferrer" class="nav-link external">
  旧博客（停止更新）
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://rattonlzh.github.io/homepage/homepage.html" target="_blank" rel="noopener noreferrer" class="nav-link external">
  常用网址导航（停止更新）
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow down"></span></button> <button type="button" aria-label="Select language" class="mobile-dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/知识点总结/数据库系统概念总结.html" class="nav-link">
  zh-CN
</a></li><li class="dropdown-item"><!----> <a href="/en/" class="nav-link">
  en-US
</a></li></ul></div></div> <!----></nav>  <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>随便说说</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>知识点总结</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/知识点总结/git总结.html" class="sidebar-link">git总结</a></li><li><a href="/知识点总结/java单元测试总结.html" class="sidebar-link">java测试</a></li><li><a href="/知识点总结/jquery总结.html" class="sidebar-link">jquery初探</a></li><li><a href="/知识点总结/js总结.html" class="sidebar-link">js易错点</a></li><li><a href="/知识点总结/kotlin语法总结.html" class="sidebar-link">kotlin语法入门</a></li><li><a href="/知识点总结/latex总结.html" class="sidebar-link">latex常用代码</a></li><li><a href="/知识点总结/PS总结.html" class="sidebar-link">PS总结</a></li><li><a href="/知识点总结/springboot总结.html" class="sidebar-link">springboot进行web开发总结</a></li><li><a href="/知识点总结/thinkphp总结.html" class="sidebar-link">thinkphp入坑</a></li><li><a href="/知识点总结/uml软件建模总结.html" class="sidebar-link">uml软件建模总结</a></li><li><a href="/知识点总结/人工智能总结.html" class="sidebar-link">人工智能总结</a></li><li><a href="/知识点总结/大数据软件工程总结.html" class="sidebar-link">大数据软件工程总结</a></li><li><a href="/知识点总结/常用快捷键总结.html" class="sidebar-link">第一篇博客</a></li><li><a href="/知识点总结/数字图像处理总结.html" class="sidebar-link">数字图像处理知识点</a></li><li><a href="/知识点总结/数据库应用理论总结.html" class="sidebar-link">数据库应用复习</a></li><li><a href="/知识点总结/数据库系统概念总结.html" class="active sidebar-link">数据库系统概念总结</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#术语" class="sidebar-link">术语</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#数据库范式" class="sidebar-link">数据库范式</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#计算f闭包的算法" class="sidebar-link">计算F闭包的算法</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#计算属性集的闭包" class="sidebar-link">计算属性集的闭包</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#验证分解是否保持依赖" class="sidebar-link">验证分解是否保持依赖</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#检查r分解后的关系r-i是否属于bcnf" class="sidebar-link">检查R分解后的关系R_i是否属于BCNF</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#bcnf分解算法" class="sidebar-link">BCNF分解算法</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#_3nf分解算法-也叫3nf合成算法" class="sidebar-link">3NF分解算法(也叫3NF合成算法)</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#_4nf分解算法" class="sidebar-link">4NF分解算法</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#数据字典" class="sidebar-link">数据字典</a></li><li class="sidebar-sub-header"><a href="/知识点总结/数据库系统概念总结.html#e-r图转关系模型的要点" class="sidebar-link">E-R图转关系模型的要点</a></li></ul></li><li><a href="/知识点总结/数据挖掘总结.html" class="sidebar-link">数据挖掘总结</a></li><li><a href="/知识点总结/编译原理知识点汇总.html" class="sidebar-link">编译原理知识点汇总</a></li><li><a href="/知识点总结/设计模式总结.html" class="sidebar-link">设计模式</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>考研专区</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>读书笔记</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开发资料</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>配置记录</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>思维导图</span> <span class="arrow right"></span></p> <!----></section></li><li><a href="/friend_link.html" class="sidebar-link">友情链接</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="数据库系统概念总结"><a href="#数据库系统概念总结" class="header-anchor">#</a> 数据库系统概念总结</h1> <h2 id="术语"><a href="#术语" class="header-anchor">#</a> 术语</h2> <p><strong>原子属性</strong>：不可再分的属性，既不是多值属性，也不是组合属性</p> <p><strong>组合属性</strong>：如果把属性拆成几个子属性，这几个属性在应用中具有有效的语义（比如应用需要解析学号，前4位专门表示入学年份，中间3位专门表示专业，学号就是组合属性）</p> <p><strong>多值属性</strong>：一个实体对应多个值的属性是多值属性，比如一个人有多个联系方式，联系方式就是people表的多值属性</p> <p><strong>数据库范式</strong>：某种关系模式设计遵循的原则，目的是存储信息时避免不必要的冗余</p> <p><strong>码（超码）</strong>：可以唯一标识一个实体的属性或属性集</p> <p><strong>候选码（候选键）</strong>：能够唯一确定一个实体的<em>最小</em>属性集，一个关系模式可能有多个候选码</p> <p><strong>主键（主码）</strong>：候选码中的一个，是被人为挑选出来的</p> <p><strong>主属性</strong>：在任一候选码中的属性</p> <p><strong>非主属性</strong>：不在候选码中的属性</p> <p><strong>分辨符（部分码）</strong>:弱实体集对应一个被依赖的实体有多条记录，在一个实体中区分这些记录的属性的集合称为分辨符</p> <p><strong>代理键</strong>：当不存在候选码或实践上不适合将那些候选码作为主键时，用一个额外的属性充当主键的功能，这个属性就是代理键，设计上一般都是自动递增的整型属性，没有实际的语义</p> <p><strong>函数依赖</strong>：<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>, 对于一个属性集 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 可以唯一确定一个属性集 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>，  <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 就是 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span>  的一个函数依赖，<em>函数依赖集用F表示</em></p> <p><strong>部分依赖</strong>： 存在 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 真子集 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>γ</mi></mrow><annotation encoding="application/x-tex">\gamma</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.625em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05556em;">γ</span></span></span></span> ，使  <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>γ</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\gamma \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05556em;">γ</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>, 则称 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>是一个部分依赖</p> <p><strong>传递依赖</strong>：属性A不在属性集 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 或 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>中，存在 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi><mo separator="true">,</mo><mi>β</mi><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta, \beta \to A</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mpunct">,</span><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mrel">→</span><span class="mord mathit">A</span></span></span></span>且 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi><mo>→</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">\beta \to \alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 不成立，则称 A传递依赖于 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span></p> <p><strong>平凡函数依赖</strong>： 若 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi><mo>⊆</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">\beta \subseteq \alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mrel">⊆</span><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> ,则 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 是平凡函数依赖</p> <p><strong>函数依赖的闭包</strong>：函数依赖集F的闭包是被F逻辑蕴涵的所有函数依赖的集合，记为 F-closure</p> <p><strong>属性集的闭包</strong>: 在函数依赖集F下能被 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span>属性集唯一确定的属性的集合称为F下 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 的闭包</p> <p><strong>无关属性</strong>：如果移除函数依赖集F的一个属性不改变F的闭包，则该属性是F的无关属性</p> <p><strong>正则覆盖（canonical cover）</strong>：函数依赖及集F的正则覆盖 Fc 和F相互逻辑蕴涵，但Fc不含有无关属性，且函数依赖的左部是惟一的</p> <p><strong>无损分解</strong>： 将模式R分解为R1和R2，如果没有信息损失比如分解后缺少某个函数依赖，则分解是无损分解</p> <p><strong>保持依赖的分解</strong>：F在子模式上的限定的并集的闭包等于原模式的F闭包，则分解是保持依赖的</p> <p><strong>函数依赖集的限定</strong>：函数依赖集F的闭包中所有只包含模式R的属性的函数依赖的集合称为F在R上的限定</p> <p><strong>多值依赖</strong>： <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 之间的联系独立于 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>R</mi><mo>−</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">R - \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.00773em;">R</span><span class="mbin">−</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 的联系，则 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 多值依赖于 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span>， 记为 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span>, 多值依赖出现往往意味着存在多值属性，<em>多值依赖集+函数依赖集用D表示</em></p> <h3 id="armstrong公理"><a href="#armstrong公理" class="header-anchor">#</a> Armstrong公理</h3> <ul><li>自反律： 若 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>β</mi><mo>⊆</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">\beta \subseteq \alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mrel">⊆</span><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> ,则 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span></li> <li>增补律：<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mo>→</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alpha \to \beta</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span></span></span></span> 可以推出 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi><mi>γ</mi><mo>→</mo><mi>β</mi><mi>γ</mi></mrow><annotation encoding="application/x-tex">\alpha \gamma \to \beta \gamma</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.69444em;"></span><span class="strut bottom" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span><span class="mord mathit" style="margin-right:0.05556em;">γ</span><span class="mrel">→</span><span class="mord mathit" style="margin-right:0.05278em;">β</span><span class="mord mathit" style="margin-right:0.05556em;">γ</span></span></span></span></li> <li>传递律： \alpha \to \beta , \beta \to \gamma \R_ightarrow \alpha \to \gamma</li></ul> <p>由Armstrong公理推出的便捷规则如下：</p> <ul><li>合并律：\alpha \to \beta, \alpha \to \gamma \R_ightarrow \alpha \to \beta \gamma</li> <li>分解律： \alpha \to \beta \gamma \R_ightarrow \alpha \to \beta, \alpha \to \gamma</li> <li>伪传递律：\alpha \to \beta , \gamma \beta \to \delta \R_ightarrow \gamma \alpha \to \delta</li></ul> <h2 id="数据库范式"><a href="#数据库范式" class="header-anchor">#</a> 数据库范式</h2> <p>1NF：关系模式的所有属性都是原子属性</p> <p>2NF：不存在非主属性集对任意候选码的部分依赖</p> <p>3NF：不存在非主属性集对任意候选码的传递依赖（隐含2NF）</p> <p>ECNF：不存在非主属性集的非平凡函数依赖</p> <p>4NF: 不存在非主属性集对任意属性集的非平凡多值依赖(隐含4NF)</p> <h2 id="计算f闭包的算法"><a href="#计算f闭包的算法" class="header-anchor">#</a> 计算F闭包的算法</h2> <div class="language- extra-class"><pre class="language-text"><code>F-closure = F
while true:
	for each F-closure的函数依赖f:
		在f上应用自反律和增补律
		结果添加到F-closure中
	for each F-closure的一堆函数依赖f1和f2:
		if f1和f2可以使用传递律结合起来:
			将结果添加到F-closure中
	if F-closure不再发生变化:
		break
</code></pre></div><p>以上算法虽然是正确的，但是时间复杂度达到指数级，因为函数依赖有 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msup><mn>2</mn><mrow><mn>2</mn><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">2^{2n}</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.8141079999999999em;"></span><span class="strut bottom" style="height:0.8141079999999999em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathrm">2</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">2</span><span class="mord mathit">n</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span>个，n是模式R的属性个数</p> <h2 id="计算属性集的闭包"><a href="#计算属性集的闭包" class="header-anchor">#</a> 计算属性集的闭包</h2> <div class="language- extra-class"><pre class="language-text"><code>result := alpha
while true:
	for each beta -&gt; r in 函数依赖集F:
		if beta 是 result的子集:
			r添加到result中
	if result不再变化:
		break
</code></pre></div><p>时间复杂度最坏是 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>O</mi><mo>(</mo><msup><mi>n</mi><mn>2</mn></msup><mo>)</mo></mrow><annotation encoding="application/x-tex">O(n^2)</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.8141079999999999em;"></span><span class="strut bottom" style="height:1.064108em;vertical-align:-0.25em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.02778em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathit">n</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathrm">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mclose">)</span></span></span></span>,n是F的元素个数</p> <h2 id="验证分解是否保持依赖"><a href="#验证分解是否保持依赖" class="header-anchor">#</a> 验证分解是否保持依赖</h2> <div class="language- extra-class"><pre class="language-text"><code>计算F闭包
F-total := 空集
for each 分解后的模式R_i:
	Fi := F闭包在R_i中的限定
	将Fi添加到F-total中
计算F-total的闭包
return F闭包 == F-total闭包
</code></pre></div><h2 id="检查r分解后的关系r-i是否属于bcnf"><a href="#检查r分解后的关系r-i是否属于bcnf" class="header-anchor">#</a> 检查R分解后的关系R_i是否属于BCNF</h2> <p>对于R_i中属性的每个子集 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span>,确保 F下 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.43056em;"></span><span class="strut bottom" style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle uncramped"><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span>的闭包要么包含R_i的全部属性，要么不包含 <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msub><mi>R</mi><mi>i</mi></msub><mo>−</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">R_i-\alpha</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:0.68333em;"></span><span class="strut bottom" style="height:0.83333em;vertical-align:-0.15em;"></span><span class="base textstyle uncramped"><span class="mord"><span class="mord mathit" style="margin-right:0.00773em;">R</span><span class="vlist"><span style="top:0.15em;margin-right:0.05em;margin-left:-0.00773em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord mathit">i</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mbin">−</span><span class="mord mathit" style="margin-right:0.0037em;">α</span></span></span></span> 的任何属性</p> <h2 id="bcnf分解算法"><a href="#bcnf分解算法" class="header-anchor">#</a> BCNF分解算法</h2> <div class="language- extra-class"><pre class="language-text"><code>result:= {R}
done := false
计算F-closure
while not done:
	if result存在模式R_i不属于BCNF:
		a -&gt; b := R_i上成立的非平凡函数依赖，a和b没有交集，a -&gt; Ri不属于F-closure
		result := (result - R_i) U (R_i - b) U (a, b) 
	else:
		done = true
</code></pre></div><h2 id="_3nf分解算法-也叫3nf合成算法"><a href="#_3nf分解算法-也叫3nf合成算法" class="header-anchor">#</a> 3NF分解算法(也叫3NF合成算法)</h2> <div class="language- extra-class"><pre class="language-text"><code>Fc := F的正则覆盖
result = {}
for 函数依赖 a -&gt; b in Fc:
	将ab作为新的模式加入到result中
if 所有子模式都不含R的候选码:
	将R的任意候选码作文新的模式加入到result中
如果result中存在R_i 是R_j的子集，则删除R_i
return result
</code></pre></div><h2 id="_4nf分解算法"><a href="#_4nf分解算法" class="header-anchor">#</a> 4NF分解算法</h2> <div class="language- extra-class"><pre class="language-text"><code>result := {R}
done := false
计算D-closure
令D_i 表示D-closure 在R_i 上的限定
while not done:
	if result存在R_i不属于4NF:
		令a -&gt;-&gt; b 是R_i 上成立的非平凡多值依赖，且a -&gt; R_i 不属于D_i， 并且a和b没有交集
		result = (result - R_i) U (R_i - b) U (a, b)
	else:
		done = true
</code></pre></div><h2 id="数据字典"><a href="#数据字典" class="header-anchor">#</a> 数据字典</h2> <h3 id="数据流图中的数据字典"><a href="#数据流图中的数据字典" class="header-anchor">#</a> 数据流图中的数据字典</h3> <p>描述系统中涉及的每个数据，是数据描述的集合</p> <p>内容包含如下：</p> <ul><li><p>数据项：数据项描述＝｛ 数据项名，数据项含义说明，别名，
数据类型，长度，取值范围，取值含义，
与其他数据项的逻辑关系，数据项之间的联系 ｝</p></li> <li><p>数据结构：数据结构描述＝｛数据结构名，含义说明，</p> <p>​                  组成:｛数据项或子数据结构｝｝</p></li> <li><p>数据流： 数据流描述＝｛ 数据流名，说明，数据流来源(按数据流图)，数据流去向，组成:｛数据结构/数据项｝，</p> <p>​                平均流量，高峰期流量｝</p></li> <li><p>数据存储：数据存储描述＝｛数据存储名，说明，编号，输入的数据流 ，输出的数据流 ， 组成:｛数据结构/数据项｝，数据量，存取频度，存取方式｝</p></li> <li><p>处理过程(加工)：处理过程描述＝｛处理过程名，说明，输入:｛数据流｝，输出:｛数据流｝，处理:｛简要说明｝｝，当处理比较复杂时，可进一步用判定表或判定树来</p></li></ul> <h3 id="数据库系统中的数据字典"><a href="#数据库系统中的数据字典" class="header-anchor">#</a> 数据库系统中的数据字典</h3> <ul><li>关系的名字</li> <li>每个关系的属性名</li> <li>属性的域和长度</li> <li>在数据库上定义的视图的名字和视图的定义</li> <li>完整性约束</li></ul> <h2 id="e-r图转关系模型的要点"><a href="#e-r图转关系模型的要点" class="header-anchor">#</a> E-R图转关系模型的要点</h2> <p>ER图有助于直观地描述业务中的实体的属性以及实体间的联系,辅助我们构建良好的数据库,ER图的最终目的是转为数据库的关系模型,下面我们将指出ER图转关系模型的几个要点</p> <h3 id="相关定义"><a href="#相关定义" class="header-anchor">#</a> 相关定义</h3> <p><strong>实体</strong>:现实世界中区别于其他所有对象的一个对象.</p> <p><strong>联系</strong>:多个实体间的相互关联</p> <p><strong>实体集</strong>:具有相同属性的实体的集合</p> <p><strong>联系集</strong>:相同类型联系的集合
<strong>映射基数</strong>：一个实体通过一个联系能关联的实体的数目
<strong>一对一联系</strong>：每个实体最多只能与一个实体关联
<strong>一对多联系</strong>：实体集A的一个实体能与其他实体集的多个实体关联，其他实体集的实体却只能与实体集A的一个实体关联
<strong>多对多联系</strong>：任意实体能与任意数目的实体关联
<strong>弱实体集</strong>:没有足够属性形成主码的实体集.弱实体集依赖于标识实体集</p> <h3 id="er图的图形含义"><a href="#er图的图形含义" class="header-anchor">#</a> ER图的图形含义</h3> <p><strong>矩形</strong>：表示实体集，用水平线将矩形分成两部分，上方表示实体集的名称，下方表示属性集，属性集中带下划线的是主码，如果下划线是虚线，则代表分辨符，该实体集是弱实体集
<strong>菱形</strong>：表示联系集。连接线全部带箭头代表一对一联系，部分带箭头代表被箭头指向的实体到其他实体是一对多联系，不带箭头代表多对多联系。双实线代表连接的实体集全部参与。
<strong>双菱形</strong>：表示弱实体集和标识实体集的联系。
<strong>l..h</strong>:用在实体集和联系集的连线上，表示映射基数的范围。l表示最小值，h表示最大值，取值可取0，1，2，···，*。*表示任意值</p> <h3 id="转换方式"><a href="#转换方式" class="header-anchor">#</a> 转换方式</h3> <ol><li><strong>实体集</strong>:直接转换</li> <li><strong>联系集</strong>:属性集=所有实体的主码+联系集的描述性属性,主码视映射基数而定
<ol><li>一对一:主码=任一实体的主码</li> <li>一对多or多对一:主码=映射基数不为1的所有实体的主码</li> <li>多对多:所有实体的主码</li></ol></li> <li><strong>多值属性</strong>:属性集=实体主码+一个多值属性,主码=实体主码,如果实体集只有主码和多值属性,则不必特别把多值属性单独转为一个模式</li> <li><strong>弱实体集</strong>:属性集=弱实体集的所有属性+标识实体集的主码,主码=分辨符+标识实体集的主码。连接弱实体集的联系集是冗余的，不必给出</li></ol></div> <footer class="page-edit"><!----> <!----> <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.zh"><img alt="知识共享许可协议" src="" style="border-width:0"></a><br>本作品采用<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">知识共享署名 4.0 国际许可协议</a>进行许可。

   
</footer> <div class="page-nav"><p class="inner"><span class="prev">
      ←
      <a href="/知识点总结/数据库应用理论总结.html" class="prev">
        数据库应用复习
      </a></span> <span class="next"><a href="/知识点总结/数据挖掘总结.html">
        数据挖掘总结
      </a>
      →
    </span></p></div>  <footer style="text-align:center;">备案号： 粤ICP备2021020303号</footer></main></div><div class="global-ui"><!----></div></div>
    <script src="/assets/js/app.c7d9ff18.js" defer></script><script src="/assets/js/2.cd56dec9.js" defer></script><script src="/assets/js/42.3ae1db24.js" defer></script>
  </body>
</html>
